29 research outputs found
Contractual Testing
Variants of must testing approach have been successfully applied in Service Oriented Computing for capturing compliance between (contracts exposed by) a client and a service and for characterising safe replacement, namely
the fact that compliance is preserved when a service exposing a ’smaller’ contract is replaced by another one with a ’larger’ contract. Nevertheless, in multi-party
interactions, partners often lack full coordination capabilities. Such a scenario calls for less discriminating notions of testing in which observers are, e.g., the
description of uncoordinated multiparty contexts or contexts that are unable to observe the complete behaviour of the process under test. In this paper we propose an extended notion of must preorder, called contractual preorder, according to which contracts are compared according to their ability to pass only the tests belonging to a given set. We show the generality of our framework by proving that preorders induced by existing notions of compliance in a distributed setting are instances of the contractual preorder when restricting to suitable sets of observers
On Resolving Non-determinism in Choreographies
Choreographies specify multiparty interactions via message passing. A realisation of a choreography is a composition of independent processes that behave as specified by the choreography. Existing relations of correctness/completeness between choreographies and realisations are based on models where choices are non-deterministic. Resolving non-deterministic choices into deterministic choices (e.g., conditional statements) is necessary to correctly characterise the relationship between choreographies and their implementations with concrete programming languages. We introduce a notion of realisability for choreographies - called whole-spectrum implementation - where choices are still non-deterministic in choreographies, but are deterministic in their implementations. Our notion of whole spectrum implementation rules out deterministic implementations of roles that, no matter which context they are placed in, will never follow one of the branches of a non-deterministic choice. We give a type discipline for checking whole-spectrum implementations. As a case study, we analyse the POP protocol under the lens of whole-spectrum implementation
A Truly Concurrent Semantics for Reversible CCS
Reversible CCS (RCCS) is a well-established, formal model for reversible
communicating systems, which has been built on top of the classical Calculus of
Communicating Systems (CCS). In its original formulation, each CCS process is
equipped with a memory that records its performed actions, which is then used
to reverse computations. More recently, abstract models for RCCS have been
proposed in the literature, basically, by directly associating RCCS processes
with (reversible versions of) event structures. In this paper we propose a
different abstract model: starting from one of the well-known encoding of CCS
into Petri nets we apply a recently proposed approach to incorporate
causally-consistent reversibility to Petri nets, obtaining as result the
(reversible) net counterpart of every RCCS term
A Petri net view of covalent bonds
In nature and chemistry the interactions among elements often form bonds and among them covalent bonds are relevant, involving the sharing of electrons. Another relevant and compelling facet of calculi modelling covalent bonds is that certain steps in reactions are the result of concerting different activities, possibly reversing some of them. Starting from a calculus for covalent bonds, we investigate on how it can be done in a compositional fashion and how it can be encoded in suitable Petri nets. The outcome gives us a compositional covalent bond calculus and a truly distributed implementation. On these results it is possible to build a behavioural equivalence among terms.Fil: Melgratti, Hernan Claudio. Consejo Nacional de Investigaciones CientÃficas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación en Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación en Ciencias de la Computación; ArgentinaFil: Mezzina, Claudio Antares. Università Degli Studi Di Urbino Carlo Bo; ItaliaFil: Pinna, G. Michele. Università degli Studi di Cagliari; Itali
Contracts for Abstract Processes in Service Composition
Contracts are a well-established approach for describing and analyzing
behavioral aspects of web service compositions. The theory of contracts comes
equipped with a notion of compatibility between clients and servers that
ensures that every possible interaction between compatible clients and servers
will complete successfully. It is generally agreed that real applications often
require the ability of exposing just partial descriptions of their behaviors,
which are usually known as abstract processes. We propose a formal
characterization of abstraction as an extension of the usual symbolic
bisimulation and we recover the notion of abstraction in the context of
contracts.Comment: In Proceedings FIT 2010, arXiv:1101.426
On the Behaviour of General-Purpose Applications on Cloud Storages
Managing data over cloud infrastructures raises novel challenges with respect to existing and well studied approaches such as ACID and long running transactions. One of the main requirements is to provide availability and partition tolerance in a scenario with replicas and distributed control. This comes at the price of a weaker consistency, usually called eventual consistency. These weak memory models have proved to be suitable in a number of scenarios, such as the analysis of large data with Map-Reduce. However, due to the widespread availability of cloud infrastructures, weak storages are used not only by specialised applications but also by general purpose applications. We provide a formal approach, based on process calculi, to reason about the behaviour of programs that rely on cloud stores. For instance, one can check that the composition of a process with a cloud store ensures `strong' properties through a wise usage of asynchronous message-passing